package com.sec.etech.project.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 制造单批次信息（项目扩展表，同工程项目一对一）
 */
@Data
@TableName(value="proj_project_order")
public class ProjectOrder implements Serializable {

    /**
     * 工程项目主键-结构以变尚未更新
     */
    @TableId(value = "projectid")
    protected Long projectid;
    /**
     * 制造单号
     */
    protected String manufactureorder;
    /**
     * 产品全称
     */
    protected String thermalperformname;
    /**
     * 最早盘车
     */
    protected Date turningdate;
    protected Long turningfile;
    /**
     * 首台交付
     */
    protected Date deliverydate;
    /**
     * 交货日期
     */
    protected Date operatedate;
    /**
     * 项目简称
     */
    protected String projectabbr;
    /**
     * 产品型号
     */
    protected String series;
    /**
     * 产品系列
     */
    protected Long modellineid;
    /**
     * 合同编号
     */
    protected String contractnum;
    /**
     * 机组数量
     */
    @TableField("ordersCount")
    protected Integer ordersCount;
    /**
     * 制造单单号
     */
    protected String orders;
    /**
     * 状态编号
     */
    protected Long statusid;
    /**
     * 计划任务优先级序号
     */
    protected Long priorityid;
    /**
     * 考核
     */
    protected Integer isassess;
    /**
     * 评分
     */
    protected Integer rate;
    /**
     * 项目分级编号
     */
    protected Long designclassid;
    /**
     * 责任部门编号
     */
    protected Long dutyid;
    /**
     * 设计负责人编号
     */
    protected Long designeruid;
    /**
     * 计划负责人编号
     */
    protected Long planneruid;
    /**
     * 本体负责人编号
     */
    @TableField("S1uid")
    protected Long S1uid;
    /**
     * 叶片负责人编号
     */
    @TableField("S2uid")
    protected Long S2uid;
    /**
     * 系统负责人编号
     */
    @TableField("S3uid")
    protected Long S3uid;
    /**
     * 自控负责人编号
     */
    @TableField("S4uid")
    protected Long S4uid;
    /**
     * M20预计召开时间
     */
    protected Date predate;
    /**
     * M20实际召开时间
     */
    protected Date realdate;
    /**
     * 是否需要M15
     */
    @TableField("needM15")
    protected Boolean needM15;
    /**
     * M15召开时间
     */
    @TableField("m15startdate")
    protected Date m15startdate;
    /**
     * 是否需要自控评审
     */
    @TableField("needS4review")
    protected Boolean needS4review;
    /**
     * 自控评审召开时间
     */
    @TableField("S4reviewstartdate")
    protected Date S4reviewstartdate;
    /**
     * 是否需要系统评审
     */
    @TableField("needS3review")
    protected Boolean needS3review;
    /**
     * 系统评审召开时间
     */
    @TableField("S3reviewstartdate")
    protected Date S3reviewstartdate;
    /**
     * 是否需要辅机评审
     */
    @TableField("needS5review")
    protected Boolean needS5review;
    /**
     * 辅机评审召开时间
     */
    @TableField("S5reviewstartdate")
    protected Date S5reviewstartdate;
    /**
     * 是否有M60
     */
    @TableField("haveM60")
    protected Boolean haveM60;
    /**
     * 项目处归口编号
     */
    protected Long handlerid;
    /**
     * 当前节点或状态
     */
    protected String bpestatus;
    /**
     * 有效标志
     */
    @TableLogic(value = "1",delval = "0")
    protected Integer active;
    /**
     * 创建用户序号
     */
    protected Long postuid;
    /**
     * 创建日期
     */
    protected Date postdate;
    /**
     * 最后修改用户序号
     */
    protected Long lastuid;
    /**
     * 最后修改日期
     */
    @TableField(update = "now()")
    protected Date lastdate;
    /**
     * 项目起点
     */
    protected Date projectstart;
    /**
     * M11流程任务主键
     */
    @TableField("m11bpmtaskid")
    protected Long m11bpmtaskid;
    /**
     * M11文件上传标志
     */
    @TableField("ism11uploaded")
    protected Integer ism11uploaded;
    /**
     * M11流程实例id
     */
    @TableField("m11bpminstid")
    protected Long m11bpminstid;
    /**
     * 项目状态
     */
    @TableField("status4pmp")
    protected Integer status4pmp;
    /**
     * 上报时间
     */
    protected String reporttime;
    /**
     * 销售部门
     */
    protected Long originid;
    /**
     * 合同签订日期
     */
    protected Date contractdate;
    /**
     * 项目经理(销售经理A) pmAuid
     */
    @TableField("pmAuid")
    protected Long pmauid;
    /**
     * 项目经理(销售经理B)pmBuid
     */
    @TableField("pmBuid")
    protected Long pmbuid;
    /**
     * 计划经理
     */
    protected Long ppuid;
    /**
     * 技术经理
     */
    protected Long tmuid;
    /**
     * 质量经理A
     */
    @TableField("qcAuid")
    protected Long qcAuid;
    /**
     * 质量经理B
     */
    @TableField("qcBuid")
    protected Long qcBuid;
    /**
     * 是否有商务合同
     */
    @TableField("hasContract")
    protected Boolean hasContract;
    /**
     * 是否有技术协议
     */
    @TableField("hasTp")
    protected Boolean hasTp;
    /**
     * 是否有制造单文件
     */
    @TableField("hasOrder")
    protected Boolean hasOrder;
    /**
     * 付款方式序号
     */
    protected Long paymentid;
    /**
     * 合同总额(分包合同金额)
     */
    protected Double contractamount;
    /**
     * LOA成本
     */
    protected Double loaamount;
    /**
     * 主合同金额
     */
    protected Double totalamount;
    /**
     * 发电机价格
     */
    protected Double generatoramount;
    /**
     * 预测毛利润
     */
    protected Double grossprofitrate;
    /**
     * 质保金
     */
    protected Double qualityamount;
    /**
     * 项目收款金额
     */
    protected Double projectamount;
    /**
     * 项目收款回笼率
     */
    protected Double projectrate;
    /**
     * 项目应收账款
     */
    protected Double projectreceivable;
    /**
     * 预付款是否到账
     */
    protected Boolean prepayment;
    /**
     * 投标保证金是否回收
     */
    protected Boolean marginback;
    /**
     * 高风险条款序号
     */
    protected Boolean highriskid;
    /**
     * 发货前的收款比例
     */
    protected Double beforeshipmentsrate;
    /**
     * 最后修改用户序号(PMP)
     */
    @TableField("lastuid4pmp")
    protected Long lastuid4pmp;
    /**
     * 最后修改日期(PMP)
     */
    @TableField("lastdate4pmp")
    protected Date lastdate4pmp;

    protected Long generatorid;
    protected String stwcOrderNum;
    protected String stwcSapNum;
    protected String stpSapNum;
}
